package com.itlong.cloud.smartcard.service;

import com.itlong.cloud.POJO.DTO.smartcard.SmartCardOldAuthDoorDTO;
import com.itlong.cloud.POJO.DTO.smartcard.SmartCardOldAuthFloorDTO;
import com.itlong.cloud.POJO.DTO.smartcard.SmartCardOldUserInfoDTO;
import com.itlong.cloud.POJO.VO.smartcard.SmartCardOldLoginVO;
import com.itlong.cloud.POJO.VO.smartcard.SmartCardOldUserInfoVO;

import java.util.List;

/**
 * <desc>
 *      旧一卡通—用户模块。
 * <desc/>
 *
 * @createDate 2017/11/1.
 */
public interface ISmartCardOldUserInfoService {


   /**
    * <desc>
    *      旧一卡通登录。
    * <desc/>
    *
    * @param  account 用户名
    * @param  pswd 密码
    * @return
    * @author shengen.T
    * @createDate 2017/11/2
    */
     SmartCardOldLoginVO login(String account, String pswd) throws Exception;


    /**
      * <desc>
      *      旧一卡通_获取单个用户所有信息列表。
      * <desc/>
      *
      * @param phoneNo  手机号码
      * @return 返回 某个用户的所有信息列表
      * @author shengen.T
      * @createDate 2017/11/1
      */
      List<SmartCardOldUserInfoVO> getUserInfoList(String phoneNo)throws Exception;

       /**
        * <desc>
        *      一卡通检测手机号码是否存在。
        * <desc/>
        *
        * @param  phoneNo
        * @return 返回记录数
        * @author shengen.T
        * @createDate 2017/11/3
        */
      boolean checkPhone(String phoneNo) throws Exception;

       /**
        * <desc>
        *      旧一卡通_修改用户。
        * <desc/>
        *
        * @param updateDTO 更新数据
        * @return 返回影响行数
        * @author shengen.T
        * @createDate 2017/11/3
        */
      Integer update(SmartCardOldUserInfoDTO updateDTO) throws Exception;

      /**
       * <desc>
       *      旧一卡通_授权门禁
       * <desc/>
       *
       * @param authDoorDTO 门禁权限
       * @return
       * @author Chunjian.G
       * @createDate 2017-12-09
       */
      Integer authDoor(SmartCardOldAuthDoorDTO authDoorDTO, Integer isSmartCommunity) throws Exception;

      /**
       * <desc>
       *        旧一卡通_授权电梯
       * <desc/>
       *
       * @param authFloorDTO 电梯权限
       * @return
       * @author Chunjian.G
       * @createDate 2017-12-09
       */
      Integer authFloor(SmartCardOldAuthFloorDTO authFloorDTO, Integer isSmartCommunity) throws Exception;


    /**
     * <desc>
     *      从缓存获取用户信息
     * </desc>
     *
     * @param token
     * @return
     * @author shengen.T
     * @createDate 2017/10/19
     */
     SmartCardOldLoginVO retrieve(String token) throws Exception;



}
